sonarqube api接口

您所在的位置:网站首页 sonarqube api sonarqube api接口

sonarqube api接口

#sonarqube api接口| 来源: 网络整理| 查看: 265

// 加载名称为devopslib的共享库的master版本@Library("devopslib@master") _

//导入共享库中的方法类def mytools = new org.devops.mytools()def builds = new org.devops.builds()def sonar = new org.devops.sonarqube()

//定义构建工具类型与路径mapdef buildTools = [ "maven": "/usr/local/apache-maven-3.8.1", "gradle": "/usr/local/gradle-6.8.3/", "golang": "/usr/local/go", "web" : "/usr/local/node-v14.16.1-linux-x64/", "sonar": "/usr/local/sonar-scanner-4.6.0.2311-linux/"]

//定义UI上面的参数(用户去选择构建那个项目的那个分支的构建类型)String branchName = "${env.branchName}"String gitHttpURL = "${env.gitHttpURL}"String buildType = "${env.buildType}"String credentialsId = "${env.credentialsId}"

// 以下是流水线阶段pipeline { agent { label "build" } options { skipDefaultCheckout true }

stages { stage("GetCode"){ steps{ script{

// 调用GetCode方法进行代码下载 mytools.GetCode("git",branchName,gitHttpURL,credentialsId) } }

}

stage("Build"){ steps { script { // 调用Build方法进行代码构建 builds.Build(buildTools, buildType) } } }

stage("SonarScan"){ steps { script { //定义项目名称 projectName="devops-maven-service"

//搜索项目 result = sonar.SerarchProject(projectName) println(result)

//判断项目是否存在 if(result == "false"){ println("${projectName}----->项目不存在,准备创建项目${projectName}") sonar.CreateProject(projectName) }else{ println("${projectName}----->项目已存在!") }

//配置项目质量规则 qpname = "myjava" sonar.ConfigQualityProfiles(projectName,"java",qpname)

//配置质量阈 sonar.ConfigQualityGates(projectName,qpname)

//扫描 sh """ ${buildTools["sonar"]}/bin/sonar-scanner -Dsonar.host.url=http://139.198.170.122:9000 \ -Dsonar.projectKey="${projectName}" \ -Dsonar.projectName="${projectName}" \ -Dsonar.projectVersion=1.0 \ -Dsonar.login=admin \ -Dsonar.password=admin \ -Dsonar.ws.timeout=30 \ -Dsonar.projectDescription="my first project!" \ -Dsonar.links.homepage=http://139.198.170.122:81/root/devops-maven-service \ -Dsonar.links.ci=http://139.198.170.122:8080/job/demo-maven-service/ \ -Dsonar.sources=src/main \ -Dsonar.sourceEncoding=UTF-8 \ -Dsonar.java.binaries=target/classes \ -Dsonar.java.test.binaries=target/test-classes \ -Dsonar.java.surefire.report=target/surefire-reports """ sleep 10 //获取扫描结果 result = sonar.GetProjectStatus(projectName) println(result) if (result.toString() == "ERROR"){ error "代码质量阈失败,请及时修复" } else { println(result) }

} } }

}

post { always { script{ echo "always......"

} }

success { script { echo "success....." } } }

}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3